package com.ldk.framework.service;

import com.ldk.framework.entity.ServiceTrip;
import com.ldk.framework.entity.User;

/**
 * 专车服务业务
 * @author xiangwl
 * 2017年3月9日
 * com.ldk.framework.service
 * IZXPCServiceTripService
 * 专线拼车行程是 司机行程包含多个用户行程
 */
public interface IZXPCServiceTripService extends IServiceTripService {
	/**
	 * 发布专车行程
	 * @param dbKey
	 * @param entity 行程实体
	 * @return
	 */
	Boolean publish(String dbKey, ServiceTrip entity) throws Exception;

	/**
	 * 用户取消专车行程
	 * @param dbKey
	 * @param userTrip 用户行程
	 * @param user 取消用户
	 * @param freeCancel 是否免费取消
	 * @return
	 * @throws Exception
	 */
	Boolean userCancel(String dbKey, ServiceTrip userTrip, User user, Boolean freeCancel) throws Exception;

	/**
	 * 司机接受用户的专车行程
	 * @param dbKey
	 * @param userTrip 用户行程
	 * @param driverTrip 司机行程
	 * @return
	 * @throws Exception
	 */
	Boolean driverAccept(String dbKey, ServiceTrip userTrip,ServiceTrip driverTrip) throws Exception;
}
